package com.itheima.a05bigintegerdemo1;

import java.math.BigInteger;
import java.util.Random;

public class BigIntegerDemo1 {
    public static void main(String[] args) {
        //大整数
        //Biginteger的构造方法,常用1和4用于创建BigInteger的对象
        //对象一旦创建，里面的数据不能发生改变

        //1.获取指定大整数
        BigInteger b1 = new BigInteger("111111111111111111111111111111111111111");
        System.out.println(b1);

        //2.获取指定进制的大整数(字符串里的100是以2进制表示的，会以十进制输出）
        BigInteger b2 = new BigInteger("100",2);
        System.out.println(b2);

        //3.获取随机大整数(0~2的num次方-1）
        Random r = new Random();
        BigInteger b3 =new BigInteger(4,r);

        //4.静态方法获取BigInteger的对象，里面-16~16有优化，不会重复创建对象，范围只有Long
        BigInteger b4 =BigInteger.valueOf(17);
        BigInteger b5 =BigInteger.valueOf(17);
        System.out.println(b4==b5);

        //对象一旦创建，里面的数据不能发生改变
        BigInteger b6 =BigInteger.valueOf(16);
        BigInteger b7 =BigInteger.valueOf(17);
        BigInteger add = b6.add(b7);
        System.out.println(add);
        //看看是不是重新创建了对象
        System.out.println(b6==add);
        System.out.println(b7==add);
    }
}
